﻿#define  _CRT_SECURE_NO_WARNINGS 1

//寻找数组的中心下标
//给你一个整数数组 nums ，请计算数组的 中心下标 。
//数组 中心下标 是数组的一个下标，其左侧所有元素相加的和等于右侧所有元素相加的和。
//如果中心下标位于数组最左端，那么左侧数之和视为 0 ，因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。
//如果数组有多个中心下标，应该返回 最靠近左边 的那一个。如果数组不存在中心下标，返回 - 1 。
//来源：力扣（LeetCode）

//前缀和（Lsum + Rsum + nums[i] = total）数学
// 
//int pivotIndex(int* nums, int numsSize) {
//    int i = 0, sum = 0;
//    int total = 0;
//    for (i = 0; i < numsSize; ++i)
//    {
//        total += nums[i];
//    }
//    for (i = 0; i < numsSize; ++i)
//    {
//        if (2 * sum + nums[i] == total)
//        {
//            return i;
//        }
//        sum += nums[i];
//    }
//    return -1;
//}
//
//#include<stdio.h>
//#define size 10
//char str1[size], str2[size + 2];
//int main()
//{
//	int a[2][3] = { 0 };
//	printf("%d", a[1>2][2]);
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int X[3][4] = { 1,2,3,4,5,6,7,8,9,10,11};
//	printf("%d ", X[1][2]);
//	printf("%d ", *(X[1] + 2));
//	printf("%d ", *(*(X + 1) + 2));
//	  //printf("%d ", *(X + 1)[2]);//[]优先级高 *优先级低
//	return 0;
//}
//

//多数元素（排序取中值）
//给定一个大小为 n 的数组 nums ，返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n / 2 ⌋ 的元素。
//你可以假设数组是非空的，并且给定的数组总是存在多数元素。
//来源：力扣（LeetCode）


//int cmp_int(const void* a, const void* b)
//{
//    return *(int*)a - *(int*)b;
//}
//int majorityElement(int* nums, int numsSize) {
//    qsort(nums, numsSize, sizeof(nums[0]), cmp_int);
//    return nums[(numsSize - 1) / 2];
//}